#ifndef _CVIEWER_H_
#define _CVIEWER_H_

#include <buola/gui/cwindow.h>
#include <buola/scene/csceneview.h>
#include <buola/scene/geodes/cpointcloud.h>
#include <buola/cv/ccloud.h>
#include <buola/bbox/bdatain.h>

namespace buola { namespace bviewer {

class CViewer : public gui::CWindow
{
public:
    CViewer();

private:
    void OnLayout() override;
    
    void OnCloud(cvi::CCloud_rgb8 &&pCloud);
    
private:
    scene::PSceneView mSceneView;
    scene::PPointCloud mCloud;
    
    bbox::BDataIn<cvi::CCloud_rgb8> iCloud;
};

typedef intrusive_ptr<CViewer> PViewer;

/*namespace bviewer*/ } /*namespace buola*/ }

#endif
